package com.ayu.shortlink.settlement.service.bases.strategy;

/**
 * 支付创建订单策略的接口
 */
public interface AbstractPayCreateOrderStrategy<REQUEST,RESPONSE> {

    /**
     * 策略的标识
     * @return 策略的标识
     */
    default String mark(){return null;};

    /**
     * 执行策略
     * @param requestParam 执行策略入参
     */
    default void execute(REQUEST requestParam) {

    }

    /**
     * 执行策略，带返回值
     * @param requestParam 执行策略入参
     * @return 执行策略后返回值
     */
    default RESPONSE executeResp(REQUEST requestParam) {
        return null;
    }
}
